package cn.core.act.service.intf;

import cn.core.act.eo.ActProcessChart;
import cn.core.act.qo.ActProcessChartQO;
import cn.core.act.vo.ActProcessChartVO;
import cn.core.tool.util.Paging;
import cn.core.tool.util.Param;

import java.util.Collection;

/**
 * 流程图 服务接口
 */
public interface IActProcessChartService {

  /**
   * 流程图 >>> 保存
   */
  public ActProcessChart save(ActProcessChart eo) throws Exception;

  /**
   * 流程图 >>> 批量保存
   */
  public Collection<ActProcessChart> saveBatch(Collection<ActProcessChart> eos) throws Exception;

  /**
   * 流程图 >>> 修改
   */
  public ActProcessChart update(ActProcessChart eo) throws Exception;

  /**
   * 流程图 >>> 批量修改
   */
  public Collection<ActProcessChart> updateBatch(Collection<ActProcessChart> eos) throws Exception;

  /**
   * 流程图 >>> 删除
   */
  public void remove(ActProcessChart eo) throws Exception;

  /**
   * 流程图 >>> 批量删除
   */
  public void removeBatch(Collection<ActProcessChart> eos) throws Exception;

  /**
   * 流程图 >>> 数据量
   */
  public Long count(ActProcessChartQO qo) throws Exception;

  /**
   * 流程图 >>> 主键查询
   */
  public ActProcessChart pk(ActProcessChartQO qo) throws Exception;

  /**
   * 流程图 >>> 查询
   */
  public Collection<ActProcessChart> query(ActProcessChartQO qo) throws Exception;

  /**
   * 流程图 >>> 分页
   */
  public Paging<ActProcessChart> paging(Param<ActProcessChartQO> param) throws Exception;

  /**
   * 流程图 >>> 业务数据量
   */
  public Long countVo(ActProcessChartQO qo) throws Exception;

  /**
   * 流程图 >>> 业务主键查询
   */
  public ActProcessChartVO pkVo(ActProcessChartQO qo) throws Exception;

  /**
   * 流程图 >>> 业务查询
   */
  public Collection<ActProcessChartVO> queryVo(ActProcessChartQO qo) throws Exception;

  /**
   * 流程图 >>> 业务分页
   */
  public Paging<ActProcessChartVO> pagingVo(Param<ActProcessChartQO> param) throws Exception;

}
